<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 导入依赖 -->
    <script src="https://lib.baomitu.com/leaflet/1.9.2/leaflet.js"></script>
    <link rel="stylesheet" href="https://lib.baomitu.com/leaflet/1.9.2/leaflet.css">
    <style>
        * {
            margin: 0;
            padding: 0
        }

        #map {
            width: 100vw;
            height: 100vh;
        }
    </style>
</head>

<body>
    <div id="map">

    </div>
    <script>
        /* 瓦片图层 */
        var url = 'https://api.mapbox.com/styles/v1/mapbox/streets-v11/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoiY2hlbmdiZW5jaGFvIiwiYSI6ImNsODU3aGRiODA0Y2UzcHBzZmFlcmdqZ2sifQ.8k59W_pB_Riwe6o-MneRlA'
        var layer = L.tileLayer(url, {
            maxZoom: 19,
            attribution: '© OpenStreetMap'
        })
        /* 实例化地图 */
        const map = L.map("map", {
            layers: [layer],
            /* center:[纬度,经度] */
            center: [30.50, 114.30],
            zoom: 4
        })
        // 声明geojson数据
        var data = {
            type: "FeatureCollection",
            features: [
                {
                    type: "Feature",// 地理要素
                    geometry: {
                        type: "Point",// 地理要素
                        coordinates: [114.30, 30.50] // 空间范围 // geojson范式，先写经度，后写纬度 
                    },
                    properties: { // 属性信息
                        name: "武汉",
                        // id: 10001 // id值写到里面，或者外面，都可以
                    },
                    id: 10001
                }, {
                    type: "Feature",
                    geometry: {
                        type: "Point", // 点类型的geojson数据，默认显示出来是一个标记的样式【小蓝定位】
                        coordinates: [118, 30.50] // 点坐标：一维数组
                    },
                    properties: {
                        name: "南京"
                    },
                    id: 10002
                }
            ]
        }
        // 加载geojson数据 【L.geoJSON()】// 扩展自 FeatureGroup。
        var point_layer = L.geoJSON(data);
        console.log(point_layer instanceof L.FeatureGroup)// true
        // geojson数据【或数据集】，加载出来也是一个图层。
        // geojson数据集，加载出来的这个图层，相当于一个图层管理器：
        // 它也具有 point_layer.clearLayers()方法
        // 【let layersGroup = new L.FeatureGroup()】 或 let layersGroup = new L.layerGroup();
        // 把这个geojson数据集，添加到地图中
        map.addLayer(point_layer);
        console.log()
        map.on("click", () => {
            point_layer.clearLayers()
        })
    </script>
</body>

</html>